Consistency Maintenance of UML Models with Description Logics
نویسنده
چکیده
Nowadays, the prevailing methodology used to specify software designs is UML. This language consists of various types of diagrams, each one dedicated to a different design aspect. This variety of views, that overlap with respect to the information depicted in each, can leave the overall system design specification in an inconsistent state. Necessarily, some form of consistency checking must be performed between different UML models. This is especially true in the context of design evolution. Therefore, a means of detecting and solving inconsistencies between related UML models must be provided. With respect to UML models, two types of consistency can be noted: consistency between models belonging to the same design version and consistency between different versions of the same model. These are known as horizontal and evolution consistency, respectively. Current UML CASE tools do not take full advantage of the relationships that exist between the different UML model elements, and, as such, provide poor support for maintaining consistency between (evolving) UML models. By specifying consistency relationships in a formal and precise way, reasoning about model consistency will be possible. The current UML metamodel provides poor support for consistency preservation and software evolution, e.g. versions are not supported. Relationships between models cannot be established. This thesis proposes a way in which this support can be integrated in the UML metamodel, with only some minor additions. Based on the characteristics of inconsistencies observed between UML models, a classification of inconsistencies is proposed. To be able to detect and resolve inconsistencies, both a formal specification of model consistency and a formal reasoning engine relying on this specification is needed. This is also true for design restructurings, as their detection depends on the same metamodel relationships as the inconsistencies. This thesis studies the feasibility of using the formalism of Description Logics (DL) for this purpose. In order to determine the suitability of DL, small experiments have been carried out. Detection predicates need to be written for each inconsistency. These have then been applied to the case study prepared for the occasion. The experimental results for inconsistencies and design restructurings indicate the feasibility of approach. Finally, these predicates have been incorporated into a tool that automates the translation between UML models and logic assertions, allowing the effortless application of detection and solution predicates.
منابع مشابه
Detecting Inconsistencies between UML Models Using Description Logic
An object-oriented software design is often modelled as a collection of UML diagrams. There is an inherent need to preserve the consistency between these diagrams. Moreover, through evolution these diagrams get modified and can become inconsistent. To be able to preserve their consistency the formalism of description logics is used. Loom, a second generation reasoning tool, and RACER, a state-o...
متن کاملUsing Description Logic to Maintain Consistency between UML Models
A software design is often modelled as a collection of UML diagrams. There is an inherent need to preserve consistency between these diagrams. Moreover, through evolution those diagrams get modified leading to possible inconsistency between different versions of the diagrams. State-of-the-art UML CASE tools provide poor support for consistency maintenance. To solve this problem, an extension of...
متن کاملA Tool Based on DL for UML Model Consistency Checking
Automated consistency checking of UML models becomes necessary as models grow in size and complexity. Since the UML metamodel does not enforce model consistency, there are no fixed guidelines on how to approach the consistency problem. Current solutions are generally partial. The translation of the metamodel and the user designed model into Description Logics has proved to provide a solution in...
متن کاملA Framework for Managing Consistency of Evolving UML Models
As the standard for object-oriented analysis and design, the UML (Unified Modeling Language) metamodel, as well as contemporary CASE (Computer-Aided Software Engineering) tools, must provide adequate and integrated support for all essential aspects of software evolution. This includes version control, traceability, impact analysis, change propagation, inconsistency management, and model refacto...
متن کاملMaintaining Consistency between UML Models with Description Logic Tools
In current-day object-oriented software development, the software design (typically modelled as a collection of UML diagrams) is an essential aspect. As a result, future object-oriented legacy systems will encounter the non-negligible problem of design inconsistencies in its various forms. Unfortunately, in its generality, detecting these design inconsistencies is an undecidable problem. Theref...
متن کامل